(mail-yank-original): In Transient Mark mode,
authorRichard M. Stallman <rms@gnu.org>
Tue, 18 May 1993 19:21:13 +0000 (19:21 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 18 May 1993 19:21:13 +0000 (19:21 +0000)
don't get error and don't activate the mark.

lisp/mail/sendmail.el

index bfb02c44a1b969fcb7a6ad785118df5723b828b2..94f6046b44fc8e5a066d0344c547865c840c73b4 100644 (file)
@@ -565,16 +565,20 @@ and don't delete any header fields."
        (insert-buffer mail-reply-buffer)
        (if (consp arg)
            nil
-         (mail-yank-clear-headers start (mark))
+         (mail-yank-clear-headers start (mark t))
          (if (null mail-yank-prefix)
-             (indent-rigidly start (mark)
+             (indent-rigidly start (mark t)
                              (if arg (prefix-numeric-value arg) 3))
            (save-excursion
              (goto-char start)
-             (while (< (point) (mark))
+             (while (< (point) (mark t))
                (insert mail-yank-prefix)
                (forward-line 1)))))
-       (exchange-point-and-mark)
+       ;; This is like exchange-point-and-mark, but doesn't activate the mark.
+       ;; It is cleaner to avoid activation, even though the command
+       ;; loop would deactivate the mark because we inserted text.
+       (goto-char (prog1 (mark t)
+                    (set-marker (mark-marker) (point) (current-buffer))))
        (if (not (eolp)) (insert ?\n)))))
 
 (defun mail-yank-clear-headers (start end)